/*
 * Application.h
 *
 *  Created on: 3 mai 2009
 *      Author: CHETIER
 */

#ifndef APPLICATION_H_
#define APPLICATION_H_

#include <stdlib.h>
#include <iostream>
#include <SDL/SDL.h>
#include <GL/GL.h>
#include <SDL/SDL_image.h>


#include "Context.h"
#include "InputState.h"
#include "Ball.h"

using namespace std;

class Application
{
private:
	//Private properties
	Context *_Context;
	InputState *_InputState;

	//Private methods
	int InitializeTextures();

public:
	//Initialization
	Application();
	virtual ~Application();

	//Public methods
	int Initialize(void);
	int Start(void);
	int HandleInput(InputState *pInputState);
	int Think(void);
	int Display(void);
};

#endif /* APPLICATION_H_ */
